<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
  
<!-- Mirrored from bos.asmhackers.net/docs/filesystems/ntfs/INDX.html by HTTrack Website Copier/3.x [XR&CO'2013], Tue, 07 Oct 2014 11:27:47 GMT -->
<head>
    <title>NTFS Documentation: Index Buffer</title>
  </head>

  <body>
    <h1><a href="index-2.html#NTFS" tppabs="http://www.via.ecp.fr/~regis/ntfs/new/index.html#NTFS">NTFS</a> Documentation: Index Buffer</h1>

    <h2>Definition</h2>

    This is a <a href="dir.html#ibnode" tppabs="http://www.via.ecp.fr/~regis/ntfs/new/dir.html#ibnode">sub-node</a> of the <a href="dir.html#btree" tppabs="http://www.via.ecp.fr/~regis/ntfs/new/dir.html#btree">B+ tree</a> that implements an index (e.g. a <a href="dir.html" tppabs="http://www.via.ecp.fr/~regis/ntfs/new/dir.html">directory</a>). It is stored in the <a href="indexallocation.html#layout" tppabs="http://www.via.ecp.fr/~regis/ntfs/new/indexallocation.html#layout">stream of the index allocation attribute</a> associated to the index it belongs to.
    <p>

    <h2>Layout</h2>

    An INDX buffer is at least 2 KB large or the <a href="glossary.html#Cluster" tppabs="http://www.via.ecp.fr/~regis/ntfs/new/glossary.html#Cluster">cluster</a> size if larger (this seems to be a per-<a href="indexroot.html#size" tppabs="http://www.via.ecp.fr/~regis/ntfs/new/indexroot.html#size">index parameter</a>). It falls into 2 parts:
    <p>

    <ul>
      <li><h3><a name="header_part">The header part</a></h3>
        <table border=2 cellspacing=2 cellpadding=2>
          <tr bgcolor="#E0E0E0">
	    <th>Offset to the beginning of the INDX buffer</th>
            <th>Length</th>
            <th>Description</th>
          </tr>
          <tr>
	    <th>0</th>
	    <th>4</th>
	    <th><a href="seqarray.html#magic" tppabs="http://www.via.ecp.fr/~regis/ntfs/new/seqarray.html#magic">Magic number</a> 'INDX'</th>
          </tr>
          <tr>
            <th>4</th>
	    <th>2</th>
	    <th>Offset to the <a href="#up_seq_field">update sequence</a></th>
          </tr>
          <tr>
	    <th>6</th>
	    <th>2</th>
            <th>S=Size of the <a href="#up_seq_a_field">update sequence array</a> + 1</th>
          </tr>
          <tr>
	    <th></th>
	    <th></th>
	    <th></th>
          </tr>
          <tr>
	    <th>10</th>
	    <th>8</th>
	    <th><a href="attribute.html#VCN" tppabs="http://www.via.ecp.fr/~regis/ntfs/new/attribute.html#VCN">VCN</a> of the INDX buffer in the <a href="indexallocation.html" tppabs="http://www.via.ecp.fr/~regis/ntfs/new/indexallocation.html">index allocation attribute</a></th>
          </tr>
          <tr>
	    <th>18</th>
	    <th>2</th>
            <th>Offset to the beginning of the <a href="#seq_part">sequence of index entries part</a> - 18</th>
          </tr>
          <tr>
	    <th></th>
	    <th></th>
	    <th></th>
          </tr>
          <tr>
	    <th>1C</th>
	    <th>4</th>
	    <th>Offset to the end of the <a href="#seq_part">sequence of index entries part</a> - 18</th>
          </tr>
          <tr>
	    <th>20</th>
	    <th>4</th>
	    <th>Offset to the end of the INDX buffer - 18</th>
          </tr>
          <tr>
	    <th>24</th>
	    <th>4</th>
	    <th>1 if not leaf node</th>
          </tr>
          <tr>
	    <th>28</th>
	    <th>2</th>
	    <th><a name="up_seq_field"><a href="seqarray.html#up_seq" tppabs="http://www.via.ecp.fr/~regis/ntfs/new/seqarray.html#up_seq">Update sequence</a></a></th>
          </tr>
          <tr>
            <th>2A</th>
	    <th>2*(S-1)</th>
	    <th><a name="up_seq_a_field"><a href="seqarray.html#up_seq_a" tppabs="http://www.via.ecp.fr/~regis/ntfs/new/seqarray.html#up_seq_a">Update sequence array</a></a></th>
          </tr>
        </table>
        <p>

      <li><h3><a name="seq_part">The sequence of index entries part</a></h3>
        This is a sequence of <a href="indexentry.html" tppabs="http://www.via.ecp.fr/~regis/ntfs/new/indexentry.html">index entries</a> similar to <a href="indexroot.html#seq_ie" tppabs="http://www.via.ecp.fr/~regis/ntfs/new/indexroot.html#seq_ie">the one found in the index root attribute</a>.
	<p>

    </ul>
    <p>

    <hr>
    <address><a href="mailto:rduchesne@infovistaus.com">Regis Duchesne</a></address>
<!-- Created: Mon Jan 25 17:11:00 PST 1999 -->
<!-- hhmts start -->
Last modified: Tue Jan 26 15:17:12 PST 1999
<!-- hhmts end -->
  </body>

<!-- Mirrored from bos.asmhackers.net/docs/filesystems/ntfs/INDX.html by HTTrack Website Copier/3.x [XR&CO'2013], Tue, 07 Oct 2014 11:27:47 GMT -->
</html>
